home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _52BBD577A0784ED2AB4B1900C692AAB6 < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.7 KB  |  47 lines

  1. // ===============================================================
  2. // Vertex Program: 
  3. // Description: 
  4. // Last Update: 14/08/2003
  5. // Coder: Andrey Honich
  6. // ===============================================================
  7.  
  8.       #include "../CGVPMacro.csi"
  9.  
  10.       Noise
  11.       Projected
  12.  
  13.       Param4f ( Name = NoisePos Comp 'time 0.8' Comp 'time 0.6' Comp = 0 User 'WaveAmplitude') // xy = wavepos, z = 0, w = amplitude
  14.       Param4f ( Name = WaterLevel Comp 'WaterLevel' Comp = 0 Comp = 1)  // Water level
  15.       
  16.       VertAttributes { POSITION_3 PRIM_COLOR }
  17.       MainInput { VIEWPROJ_MATRIX, uniform float4 NoisePos, CAMERA_POS, uniform float4 TexShiftRipple, uniform float4 TexGenRipple0, uniform float4 TexGenRipple1, uniform float4 TexDetailScale, uniform float4 WaterLevel, uniform float4x4 TexProjMatrix, uniform float4 pg[66] : register(c30) }
  18.       DeclarationsScript
  19.       {
  20.         IN_C0
  21.         OUT_T0_T1_T2_T3_C0
  22.       }
  23.       PositionScript = PosWaterDeform_PlusWaterLevel
  24.       CoreScript
  25.       {
  26.         float2 vTex;
  27.         vTex.x = dot(vPos, TexGenRipple0);
  28.         vTex.y = dot(vPos, TexGenRipple1);
  29.         OUT.Tex0.xy = vTex.xy + TexShiftRipple.xy;
  30.         OUT.Tex3.xy = (vTex.xy + TexShiftRipple.xy) * TexDetailScale.xy;
  31.         
  32.         float4 vProjTex = mul(TexProjMatrix, vPos);
  33.         //vProjTex.xy = vProjTex.xy + fNoise * CameraPos.w;
  34.   #ifdef PROJECTEDENVBUMP
  35.         OUT.Tex1 = vProjTex;
  36.   #endif        
  37.   #ifdef OTHER
  38.         OUT.Tex1.xy = vProjTex.xy / vProjTex.w;
  39.   #endif        
  40.         
  41.         float3 eyeVec = normalize(CameraPos.xyz - vPos.xyz);
  42.         float fFresnel = abs(eyeVec.z);
  43.         OUT.Tex2.xy = fFresnel;
  44.  
  45.         OUT.Color = IN.Color;
  46.       }
  47.